
#在不影响函数定义 和 执行的情况下 给函数加日志(在函数执行前 打印 函数名+ 函数开始执行.....)

def test(a=1,b=2,c=3):
    print("this is test",a,b,c)
    return a+b+c

def test2(a=1,b=2,c=3):
    print("this is test2",a,b,c)
    return a+b+c

p = test(5,6,7)
q = test2(5,6,7)
print(p,q)

print("----------------------------------------")

def wrapper(fn,a,b,c):
    print(fn.__name__ + " 函数开始执行....")
    return fn(a,b,c)

p = wrapper(test,5,6,7)
q = wrapper(test2,5,6,7)

print(p,q)

# 影响了函数的执行!!! (参数 返回值都没有影响,但函数的调用形式变了!!)